package com.hsjk.szwj.module.smedia.controller.admin.production.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotNull;

/**
 * @author chenjiawei
 * @desc
 * @Date 2023/07/06 11:44
 **/
@Data
public class UpdateEditingProjectReqVO {
    @Schema(description = "云剪辑工程标题", example = "example")
    private String title;

    @Schema(description = "云剪辑工程描述", example = "描述")
    private String description;

    @Schema(description = "云剪辑工程时间线，Json格式", example = "{\"VideoTracks\":[{\"VideoTrackClips\":[{\"MediaId\":\"****4d7cf14dc7b83b0e801c****\"}," +
            "{\"MediaId\":\"****4d7cf14dc7b83b0e801c****\"}]}]}")
    private String timeline;

    @Schema(description = "云剪辑工程封面。如果为空且时间线上的video轨已经存在素材，则默认选取时间线上第一个素材封面",
            example = "https://example.com/example.png")
    private String coverUrl;

    @Schema(description = "模板Id，用于快速低门槛的构建时间线。注：ProjectId、Timeline、TemplateId有且只有一个非空。当TemplateId不为空时，ClipsParam不能为空",
            example = "96e8864746a0b6f3")
    private String templateId;

    @Schema(description = "模板对应的素材参数，Json格式，当TemplateId不为空时，ClipsParam不能为空",
            example = "")
    private String clipsParam;


    @Schema(description = "云剪辑工程ID",
            requiredMode = Schema.RequiredMode.REQUIRED,
            example = "")
    @NotNull(message = "云剪辑工程ID不能为空")
    private String projectId;

    @Schema(description = "工程业务状态，一般剪辑工程可忽略",
            example = "Reserving;ReservationCanceled")
    private String businessStatus;
}
